@charset "utf-8";
/* CSS Document */
/* SP用スタイルシート */

/* ===================================
#contents
=================================== */
#contents {
  margin: 0 0 60px 0;
}
#contents img {
  width: 100%;
  height: auto;
}
#contents .brSP::before {
  content: "\A";
  white-space: pre;
}

/* ===================================
#slider
=================================== */
#slider {
  width: 100%;
  margin: 10px 0 50px 0;
  position: relative;
}
.slickTopArea{
  position: absolute;
  width: 90%;
  bottom: 15px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
}
.slickTopArea img{
  width: 100%;
}
#slider ul li img {
  width: 100%;
  height: auto;
}

/* ===================================
#top01
=================================== */
#top01 {
}
#top01 .inner {
  margin: 0 20px 60px;
}
#top01 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_01.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top01 .inner h2 strong {
  color: #007FD2;
  font-size: 30px;
}
#top01 .inner h2 img {
  width: 127px;
  height: auto;
  margin: 0 0 2px 10px;
}
#top01 .inner .txt01 {
  margin: 0 0 40px;
  font-size: 17px;
  font-weight: lighter;
  line-height: 1.8;
}
#top01 .inner dl {
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: 100%;
}
#top01 .inner dl.box01 {
  margin-bottom: 50px;
  background-image: url(../img/sp/bg_top_02.png);
}
#top01 .inner dl.box02 {
  margin-bottom: 50px;
  background-image: url(../img/sp/bg_top_03.png);
}
#top01 .inner dl.box03 {
  margin-bottom: 60px;
  background-image: url(../img/sp/bg_top_04.png);
}
#top01 .inner dl dt {
  box-sizing: border-box;
  margin: 0 0 15px 0;
  padding: 37vw 0 0 0;
  color: #0080D2;
  font-size: 6vw;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top01 .inner dl dd {
  margin: 0 15px 10px 45px;
  font-size: 16px;
  line-height: 1.8;
  text-indent: -16px;
}
#top01 .inner dl dd.btn01 {
  margin: 0 25px;
  padding: 5px 0 0 0;
}
#top01 .inner dl dd.btn01 a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  margin: 0 auto;
  background: url(../img/sp/ico_top_01.png) no-repeat right 40px top 19px;
  background-size: 7px 10px;
  border: 1px solid #CCC;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  color: #333;
  font-size: 15px;
  font-weight: bold;
  line-height: 48px;
  text-align: center;
}
#top01 .bnr01 {
}
#top01 .bnr01 span {
  display: block;
  margin: 0 auto 15px;
  background: url(../img/sp/bg_top_05.png) no-repeat center bottom;
  background-size: 191px 17px;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}
#top01 .bnr01 a {
  position: relative;
  display: block;
  box-sizing: border-box;
  height: 90px;
  margin: 0 auto;
  background: url(../img/sp/bnr_top_01.png) no-repeat;
  background-size: cover;
  border: 2px solid #0082D2;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  text-indent: -9999px;
}
#top01 .bnr01 a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 86px;
  background: url(../img/sp/img_top_05.png) no-repeat center center;
  background-size: 319px 74px;
  text-align: center;
}

/* ===================================
#top02
=================================== */
#top02 {
  background: #CCE6F3 url(../img/sp/bg_top_06.png);
  background: url(../img/sp/bg_top_06.png) , -moz-linear-gradient(left,  #CCE6F3 0%, #CCE9F7 100%);
  background: url(../img/sp/bg_top_06.png) , -webkit-linear-gradient(left,  #CCE6F3 0%,#CCE9F7 100%);
  background: url(../img/sp/bg_top_06.png) , linear-gradient(to right,  #CCE6F3 0%,#CCE9F7 100%);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
#top02 .inner {
  margin: 0 20px;
  padding: 50px 0 60px;
}
#top02 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_01.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top02 .inner h2 img {
  width: 130px;
  height: auto;
  margin: 10px 5px -5px 0;
}
#top02 .inner .txt01 {
  margin: 0 0 50px;
  padding: 0 0 296px 0;
  background: url(../img/sp/img_top_03_sample2010.png) no-repeat center bottom;
  background-size: 296px 276px;
  font-size: 17px;
  font-weight: lighter;
  line-height: 1.8;
}
#top02 .inner dl {
  position: relative;
  box-sizing: border-box;
  margin: 0 auto 15px;
  padding: 52vw 0 0 0;
  background: #FFF;
  border: 1px solid #EEE;
}
#top02 .inner dl.box01::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 52vw;
  background: url(../img/sp/bg_top_07.png) no-repeat center center;
  background-size: cover;
}
#top02 .inner dl.box02::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 52vw;
  background: url(../img/sp/bg_top_08.png) no-repeat center center;
  background-size: cover;
}
#top02 .inner dl.box03::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 52vw;
  background: url(../img/sp/bg_top_09.png) no-repeat center center;
  background-size: cover;
}
#top02 .inner dl.box03 {
  margin-bottom: 0;
}
#top02 .inner dl dt:first-child {
  box-sizing: border-box;
  height: 35px;
  margin: 0 0 15px 0;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  line-height: 35px;
  text-align: center;
}
#top02 .inner dl.box01 dt:first-child {
  background: #7CD1F5;
}
#top02 .inner dl.box02 dt:first-child {
  background: #0082D2;
}
#top02 .inner dl.box03 dt:first-child {
  background: #33BDEE;
}
#top02 .inner dl dt:nth-child(2) {
  box-sizing: border-box;
  margin: 0 20px 10px 20px;
  color: #0080D2;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
}
#top02 .inner dl dd {
  margin: 0 20px 20px 20px;
  font-size: 16px;
  font-weight: lighter;
  line-height: 1.6;
}
#top02 .inner dl dd a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  margin: 0 auto;
  background: url(../img/sp/ico_top_01.png) no-repeat right 30px top 19px;
  background-size: 7px 10px;
  border: 1px solid #CCC;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  color: #333;
  font-size: 15px;
  font-weight: bold;
  line-height: 46px;
  text-align: center;
}

/* ===================================
#top03
=================================== */
#top03 {
}
#top03 .inner {
  margin: 0 20px;
  padding: 50px 0 60px;
}
#top03 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_01.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top03 .inner .txt01 {
  margin: 0 0 30px;
  font-size: 17px;
  font-weight: lighter;
  line-height: 2.0;
}
#top03 .inner .txt01 img {
  width: 130px;
  height: auto;
  margin: 0 1px -2px 0;
}
#top03 .inner .pic {
  margin: 0 0 20px 0;
}
#top03 .inner .pic:last-child {
  margin-bottom: 0;
}

/* 施工事例 */
.caseContentDetail .slick-current img {
  border: 1px solid #0082D2;
}
.slider{
  width: 100%;
  margin-bottom: 20px;
}
#top03 .bigImg {
  width: 100%;
  height: 66vw;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
#top03 .thumb{
  width: 100%;
  order: 1;
  margin-bottom: 5px;
}
#top03 .thumb .slick-list{
  overflow-x: scroll;
}
#top03 .thumb .slick-track{
  transform: translate3d(0px, 0px, 0px) !important;
}
#top03 .thumImg {
  width: 80px;
  height: 65px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.caseContentDetail{
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.caseList{
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: 10px;
  order: 3;
  width: 100%;
}
.caseCateBlock {
  font-size: 16px;
  padding: 6px 24px;
  margin-right: 10px;
  color: #fff;
}
.color01{
  background-color: #A4B5B7;
}
.color02{
  background-color: #45A62D;
}
.color03{
  background-color: #0082D2;
}
.color04{
  background-color: #B28500;
}
.casePlice{
  width: 100%;
  font-size: 16px;
  order: 4;
  margin-bottom: 6px;
  color: #333;
}
.caseName{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 18px;
  order: 5;
  color: #333;
}
.noteSlick{
  display: block;
  width: 100%;
  text-align: left;
  order: 2;
  margin-bottom: 30px;
}

.caseCommentTit{
  position: relative;
  font-size: 20px;
  line-height: 1.5;
  color: #0081D2;
  padding-left: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  min-height: 30px;
}
.caseCommentTit:before{
  position: absolute;
  content: "";
  width: 4px;
  height: 20px;
  background-color: #0082D2;
  left: 0;
  top: 6px;
  margin: auto;
  border-radius: 100px;
}
.caseComment{
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #333;
}

.caseLink{
  display: block;
  box-sizing: border-box;
  width: 90%;
  height: 75px;
  background: linear-gradient(to right, #2DCEF8, #00ACE6);
  border-radius: 100px;
  text-align: center;
  margin: 0 auto;
}
.caseLinkTxt{
  position: relative;
  line-height: 75px;
  font-size: 19px;
  color: #fff;
  margin-left: -20px;
  letter-spacing: 2px;
}
.caseLinkTxt::after{
  position: absolute;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  left: 90px;
  right: 0;
  margin: auto;
}
.formLinkArea{
  margin-bottom: 54px;
  padding: 0 20px;
}
.bottomBnr{
  width: 100%;
}
.nextView{
  color: #0081D2;
  margin-left: 10px;
}

/* ===================================
#top04
=================================== */
#top04 {
  background: #3A9DF7 url(../img/sp/bg_top_10.png);
  background: url(../img/sp/bg_top_10.png) , -moz-linear-gradient(left,  #3A9DF7 0%, #2A9BFB 100%);
  background: url(../img/sp/bg_top_10.png) , -webkit-linear-gradient(left,  #3A9DF7 0%,#2A9BFB 100%);
  background: url(../img/sp/bg_top_10.png) , linear-gradient(to right,  #3A9DF7 0%,#2A9BFB 100%);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
}
#top04 .inner {
  margin: 0 20px;
  padding: 50px 0 60px;
}
#top04 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_11.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #FFF;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top04 .inner .txt01 {
  margin: 0 0 25px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}
#top04 .inner .txt02 {
  margin: 0 0 40px;
  color: #FFF;
  font-size: 16px;
  line-height: 2.0;
}
#top04 .inner .btn01 {
}
#top04 .inner .btn01 a {
  position: relative;
  display: block;
  width: 312px;
  height: 82px;
  margin: 0 auto;
  background: url(../img/sp/btn_top_01.png) no-repeat;
  background-size: 312px 82px;
  color: #007FD2;
  font-size: 19px;
  font-weight: bold;
  line-height: 70px;
  letter-spacing: 1px;
  text-indent: 70px;
}
#top04 .inner .btn01 a:before {
  content: "";
  position: absolute;
  top: 29px;
  left: 36px;
  display: block;
  width: 25px;
  height: 16px;
  background: url(../img/sp/ico_top_02.png) no-repeat;
  background-size: 25px 16px;
}
#top04 .inner .btn01 a:after {
  content: "";
  position: absolute;
  top: 28px;
  right: 41px;
  display: block;
  width: 10px;
  height: 15px;
  background: url(../img/sp/ico_top_03.png) no-repeat;
  background-size: 10px 15px;
}

/* ===================================
#top05
=================================== */
#top05 {
}
#top05 .inner {
  margin: 0 20px;
  padding: 50px 0 60px;
}
#top05 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_01.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width:320px) {
  #top05 .inner h2 {
    font-size: 20px;
  }
}
#top05 .inner .box {
  padding: 20px 0;
  border-top: 1px solid #D5D5D5
}
#top05 .inner .box .pic {
  display: none;
}
#top05 .inner .box .date {
  margin: 0 0 7px 0;
  color: #393939;
  font-size: 13px;
  font-weight: lighter;
  line-height: 1;
}
#top05 .inner .box .title {
  margin: 0 0 10px 0;
  color: #0559A5;
  font-size: 17px;
  line-height: 1.4;
}
#top05 .inner .box .title a {
  color: #0559A5;
}
#top05 .inner .box .category {
}
#top05 .inner .box .category span {
  display: inline-block;
  box-sizing: border-box;
  min-width: 63px;
  margin: 0 5px 0 0;
  padding: 0 10px;
  background: #E5F4FC;
  color: #393939;
  font-size: 11px;
  font-weight: lighter;
  line-height: 21px;
  text-align: center;
}
#top05 .inner .box .text {
  display: none;
}
#top05 .inner .box .more {
  display: none;
}
#top05 .inner .btn01 {
  padding: 30px 15px 0 15px;
  border-top: 1px solid #D5D5D5
}
#top05 .inner .btn01 a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 60px;
  margin: 0 auto;
  padding: 0 5px 0 0;
  background: url(../img/ico_top_03.png) no-repeat right 40px top 22px;
  background-size: 10px 15px;
  border: 1px solid #CCC;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  line-height: 56px;
  letter-spacing: 1px;
  text-align: center;
}
.newMark {
  font-size: 12px;
  color: #A58F56;
  margin-left: 4px;
}

/* ===================================
#top06
=================================== */
#top06 {
  background: #21201E url(../img/sp/bg_top_13.png) no-repeat center top;
  background-size: 100% auto;
}
#top06 .inner {
  margin: 0 20px;
  padding: 220px 0 60px;
}
#top06 .inner h2 {
  margin: 0 0 60px 0;
  color: #FFF;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 1px;
}
#top06 .inner .txt01 {
  margin: 0 0 30px 0;
  color: #FFF;
  font-size: 15px;
  line-height: 1.6;
}
#top06 .inner .txt01 strong {
  display: inline-block;
  margin: 0 0 0 10px;
  font-size: 23px;
  font-weight: bold;
}
#top06 .inner .txt02 {
  margin: 0 0 40px 0;
  color: #FFF;
  font-size: 16px;
  line-height: 2;
}
#top06 .inner .btn01 {
  padding: 0 15px;
}
#top06 .inner .btn01 a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 60px;
  margin: 0 auto;
  padding: 0 10px 0 0;
  background: #FFF url(../img/sp/ico_top_03.png) no-repeat right 40px top 22px;
  background-size: 10px 15px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  line-height: 58px;
  letter-spacing: 1px;
  text-align: center;
}

/* ===================================
#top07
=================================== */
#top07 {
}
#top07 .inner {
  margin: 0 20px;
  padding: 50px 0 0;
}
#top07 .inner h2 {
  margin: 0 0 30px;
  padding: 0 0 36px 0;
  background: url(../img/sp/bg_top_01.png) no-repeat center bottom;
  background-size: 60px 6px;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
#top07 .inner .txt01 {
  margin: 0 0 25px 0;
  font-size: 17px;
  font-weight: lighter;
  line-height: 1.8;
  letter-spacing: 1px;
}
#top07 .inner .btn01,
#top07 .inner .btn02 {
  margin: 0 0 15px 0;
}
#top07 .inner .btn01 a,
#top07 .inner .btn02 a {
  position: relative;
  display: block;
  width: 305px;
  height: 75px;
  margin: 0 auto;
  background: url(../img/sp/btn_top_02.png) no-repeat;
  background-size: 305px 75px;
  color: #FFF;
  font-size: 19px;
  font-weight: bold;
  line-height: 72px;
  text-align: center;
}
#top07 .inner .btn01 a:before {
  content: "";
  position: absolute;
  top: 29px;
  left: 32px;
  display: block;
  width: 25px;
  height: 16px;
  background: url(../img/sp/ico_top_04.png) no-repeat;
  background-size: 25px 16px;
}
#top07 .inner .btn02 a:before {
  content: "";
  position: absolute;
  top: 25px;
  left: 36px;
  display: block;
  width: 19px;
  height: 24px;
  background: url(../img/sp/ico_top_04-2.png) center / contain no-repeat;
}
#top07 .inner .btn01 a:after,
#top07 .inner .btn02 a:after {
  content: "";
  position: absolute;
  top: 29px;
  right: 29px;
  display: block;
  width: 10px;
  height: 15px;
  background: url(../img/sp/ico_top_05.png) no-repeat;
  background-size: 10px 15px;
}
#top07 .inner .tel {
  margin: 0 0 40px 0;
  color: #02AEE6;
  font-size: 13px;
  text-align: center;
  letter-spacing: 1px;
}
#top07 .inner .tel a {
  display: inline-block;
  color: #02AEE6;
  margin: 0 0 10px ;
  padding: 0 0 0 26px;
  background: url(../img/sp/ico_top_06.png) no-repeat 0 6px;
  background-size: 20px 21px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}
#top07 .inner dl {
  box-sizing: border-box;
  width: 100%;
  height: 90px;
  margin: 0 auto 10px;
  background: #EEE no-repeat 15px 15px;
  background-size: 60px 60px;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
}
#top07 .inner dl:first-child {
  background-image: url(../img/sp/bg_top_14.png);
}
#top07 .inner dl:nth-child(2) {
  background-image: url(../img/sp/bg_top_15.png);
}
#top07 .inner dl:nth-child(3) {
  background-image: url(../img/sp/bg_top_16.png);
}
#top07 .inner dl:last-child {
  background-image: url(../img/sp/bg_top_17.png);
}
#top07 .inner dl dt {
  background: url(../img/sp/ico_top_03.png) no-repeat right 22px top 36px;
  background-size: 10px 15px;
  color: #007FD2;
  font-size: 17px;
  font-weight: bold;
  line-height: 1;
}
#top07 .inner dl dt a {
  display: block;
  box-sizing: border-box;
  width: 335px;
  height: 90px;
  padding: 35px 0 0 90px;
  color: #007FD2;
}
#top07 .inner dl dd {
  display: none;
}


/* ===================================
android
=================================== */
html.android #top01 .inner h2{
  font-size: 20px;
}
html.android #top01 .inner h2 strong{
  font-size: 26px;
}
html.android #top01 .inner h2 img{
  width: 120px;
}
html.android #top02 .inner h2 img{
  width: 120px;
}
html.android #top02 .inner h2{
  font-size: 23px;
}
html.android #top02 .inner .txt01{
  font-size: 16px;
}
html.android #top03 .inner .txt01 img{
  width: 124px;
}
html.android #top07 .inner h2{
  font-size: 23px;
}

/* add */
#mainSlider,
#mainSliderNoComparison {
  max-width: 100%;
  height: 300px;
  background: #efefef;
  margin-bottom: 20px;
}
#mainSlider img,
#mainSliderNoComparison img {
  max-width: 100%;
  height: 300px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.thumbIco {
  font-size: 15px;
  color: #0082D2;
}
.thumbSlider {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.thumbSliderBox {
  margin-bottom: 40px;
}
.thumbnail-item {
  min-width: 45px;
  margin: 0 2px;
  text-align: center;
  background: #EEE;
  position: relative;
}
.beforeItem,
.afterItem {
  background: #efefef;
}
.Imagethumnail {
  max-width: 100%;
  height: 50px;
  margin: 0 auto;
  object-fit: contain;
  font-family: 'object-fit: contain;';
}
.beforeBox,
.afterBox {
  margin-bottom: 10px;
}
.dispNote,
.caseNote {
  text-align: right;
  font-size: 12px;
}
.dispNote {
  color: #0082D2;
  font-size: 14px;
  margin-bottom: 10px;
}
.beforeImage,
.afterImage {
  position: relative;
}
.beforeImage::before,
.afterImage::before {
  width: 60px;
  height: 17px;
  line-height: 17px;
  text-align: center;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-weight: bold;
  color: #FFF;
  border-radius: 6px;
  display: block;
  position: absolute;
  left: 15px;
  top: 10px;
}
.beforeImage::before {
  content: 'Before';
  background: #3D3938;
}
.afterImage::before {
  content: 'After';
  background: #008BD5;
}
.thumbnail-current {
  position: relative;
}
.thumbnail-current:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  border: 2px solid #008CD6;
}
.thumbSliderNoComparisonBox {
  margin-bottom: 16px;
}

/* ===================================
w320対応
=================================== */
@media screen and (max-width: 365px) {
  .caseCateBlock {
    font-size: 13px;
    padding: 6px 20px;
  }
  .caseLinkTxt{
    font-size: 18px;
  }
}
@media screen and (max-width:360px) {
  /*top01*/
  #top01 .inner h2 {
    font-size: 20px;
  }
  #top01 .inner h2 strong {
    font-size: 24px;
  }
  #top01 .inner h2 img {
    width: 100px;
  }
  #top01 .inner dl dd {
    margin-left: 35px;
    margin-right: 15px;
    font-size: 14px;
  }
  #top01 .bnr01 a::after {
    background-size: 98% auto;
  }
  /*top02*/
  #top02 .inner h2 {
    font-size: 20px;
  }
  #top02 .inner h2 img {
    width: 110px;
    margin-bottom: -2px;
  }
  #top02 .inner dl dt:first-child {
    font-size: 18px;
  }
  #top02 .inner dl dd a {
    padding-right: 15px;
    background-position: right 20px top 19px;
    font-size: 14px;
    color: #333;
  }
  /*top03*/
  #top03 .inner h2 {
    font-size: 20px;
  }
  /*top04*/
  #top04 .inner h2 {
    font-size: 20px;
  }
  #top04 .inner .btn01 a {
    width: 280px;
    height: 74px;
    background-size: 100%;
    font-size: 18px;
    text-indent: 58px;
    line-height: 65px;
  }
  #top04 .inner .btn01 a:before {
    top: 25px;
    left: 25px;
  }
  #top04 .inner .btn01 a:after {
    top: 25px;
    right: 31px;
  }
  /*top05*/
  #top05 .inner h2 {
    font-size: 20px;
  }
  #top05 .inner .btn01 {
    padding-left: 0;
    padding-right: 0;
  }
  #top05 .inner .btn01 a {
    font-size: 16px;
  }
  /*top06*/
  #top06 .inner h2 {
    font-size: 20px;
  }
  #top06 .inner .btn01 {
    padding-left: 0;
    padding-right: 0;
  }
  #top06 .inner .btn01 a {
    font-size: 16px;
  }
  /*top07*/
  #top07 .inner h2 {
    font-size: 20px;
  }
  #top07 .inner .btn01 a,
  #top07 .inner .btn02 a {
    width: 280px;
    height: 69px;
    background-size: 100%;
    font-size: 18px;
    line-height: 68px;
  }
  #top07 .inner .btn01 a:before {
    top: 27px;
    left: 24px;
  }
  #top07 .inner .btn02 a:before {
    top: 27px;
    left: 30px;
  }
  #top07 .inner .btn01 a:after,
  #top07 .inner .btn02 a:after  {
    top: 27px;
    right: 30px;
  }
  #top07 .inner .tel {
    letter-spacing: 0;
  }
}

/* ===================================
施工事例 建築されたお客様の声
=================================== */
.voiceBox {
  margin: 0 0 40px;
  padding: 30px 5vw;
  box-sizing: border-box;
  background: #F2F9FD;
}
.voiceHead {
  margin-bottom: 30px;
  padding-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
  position: relative;
  color: #333;
  font-size: 20px;
  font-weight: bold;
}
.voiceHead:before {
  content: '';
  width: 30px;
  height: 3px;
  margin: 0 auto;
  background: #0082D2;
  border-radius: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.voicePhoto {
  float: left;
  max-width: 150px;
  max-height: 150px;
  width: 40vw;
  height: 40vw;
  margin-right: 10px;
}
#contents .voicePhoto img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: 'object-fit: contain;';
}
.voicePhoto + .voiceName {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  max-height: 150px;
  height: 40vw;
}
.voiceName {
  font-size: min(5vw, 24px);
  color: #1F1F1F;
}
.voiceYear {
  padding-top: 2.5px;
  font-size: min(3.5vw, 18px);
}
.voiceAddress {
  display: flex;
  width: 100%;
  min-height: 42px;
  height: auto;
  margin: 15px 0;
  border-bottom: 1px solid #B7DBEC;
  box-sizing: border-box;
  color: #000;
  font-size: 16px;
  clear: both;
}
.voiceAddress--title {
  justify-content: center;
  width: 95px;
  margin-right: 10px;
  text-align: center;
  background: #D5EDFB;
  font-size: 14px;
}
.voiceAddress--description {
  width: 100%;
  line-height: 1.6;
}
.voiceAddress--title,
.voiceAddress--description {
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.voicePhoto ~ .voiceAddress .voiceAddress--description  {
  width: calc(100% - 95px);
}
.voiceTitle {
  height: auto;
  padding-left: 15px;
  margin-bottom: 20px;
  line-height: 30px;
  box-sizing: border-box;
  position: relative;
  color: #0080D2;
  font-size: 20px;
  font-weight: bold;
}
.voiceTitle:before {
  content: "";
  width: 4px;
  height: 20px;
  background: #0082D2;
  border-radius: 100px;
  position: absolute;
  top: 6px;
  left: 0;
}
.voiceComment {
  line-height: 1.6;
  word-break: break-all;
  font-size: 16px;
}
.voiceBtn {
  width: 100%;
  height: 50px;
  margin: 30px auto 0;
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid #CCC;
  border-radius: 100px;
}
.voiceLink {
  display: block;
  height: 100%;
  line-height: 46px;
  text-align: center;
  position: relative;
  color: #333;
  font-size: 15px;
  font-weight: bold;
}
.voiceLink::before {
  content: '';
  width: 5px;
  height: 5px;
  margin: auto 0;
  border-right: 2px solid #0082D2;
  border-bottom: 2px solid #0082D2;
  transform: rotate(-45deg);
  background: transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
}
